<?php

class RegistrationController extends Controller{
    
    function actionIndex(){
        $this->actionDo();
    }
    
    function actionDo(){
        
        $this->layout = '//layouts/column1';
        
        if(Yii::app()->user->isAuth()){
            $this->redirect($this->createUrl('/user'));
        }
        
        $USER = new Users('registration');
        
        if($_POST['Users']){
            $USER->attributes = $_POST['Users'];
            $USER->time_reg = time();
            $USER->active = 0;
            if($USER->validate()){
                
                $USER->SetScenario('ValidateOk');
                
                $CFG_AAR = $this->getModule()->reg['activate_after_reg'];
                
                if($CFG_AAR == 'email'){
                    
                    $USER->active = 0;
                    $USER->checkword = md5($USER->time_reg.CHECKWORD_SECRET.$USER->email);
                    
                    $message = new YiiMailMessage;
                    $message->setSubject(Yii::app()->name.'# Активация аккаунта');
                    $message->view = 'modules.user.views.mail.activate';
                    $message->setBody(array(
                        'email' => $USER->email,
                        'checkword' => $USER->checkword,
                    ), 'text/html');
                    
                    $message->addTo($USER->email);
                    $message->setFrom($this->getModule()->emailSender);
                    Yii::app()->mail->send($message);
                    
                }elseif($CFG_AAR == 'false'){
                    $USER->active = 1;
                }
                
                $pass = $USER->password;
                $USER->password = md5(PASSWORD_SECRET1.$USER->password.PASSWORD_SECRET2);
                $USER->passwordApp = $USER->password;
                
                if($USER->save()){
                    $resmes = 'Вы успешно зарегистрировались. ';
                    switch($CFG_AAR){
                        case 'admin': $resmes .= 'Просим Вас ожидать, пока администратор проверит и подтвердит Ваши данные.'; break;
                        case 'email': $resmes .= 'На адрес '.$USER->email.' высланы инструкции по активации аккаунта.'; break;
                        case 'false': $resmes .= 'Добро пожаловать!'; break;
                    }
                    Yii::app()->user->successMessage($this, $resmes);
                    $this->redirect($this->createUrl('login/do'));
                }else{
                    $USER->password = $USER->passwordApp = $pass;
                }
                
            }
        }
        
        $this->render('form-registration', array(
            'USER' => $USER
        ));
        
    }
    
}
